﻿using System;
using GeoAPI.Geometries;
using YJKGridTopologyCal.GeometriesGraph;

namespace YJKGridTopologyCal.Operation.Relate
{
	public class EdgeEndBundleStar : EdgeEndStar
	{
		public override void Insert(EdgeEnd e)
		{
			EdgeEnd edgeEnd;
			if (!this.edgeMap.TryGetValue(e, out edgeEnd))
			{
				base.InsertEdgeEnd(e, new EdgeEndBundle(e));
				return;
			}
			((EdgeEndBundle)edgeEnd).Insert(e);
		}

		public void UpdateIM(IntersectionMatrix im)
		{
			foreach (EdgeEnd edgeEnd in base.Edges)
			{
				((EdgeEndBundle)edgeEnd).UpdateIM(im);
			}
		}
	}
}
